#介绍UnboundLocalError
#关键字global的用法
a=1
def f1():
    print(a)

def f2():
    a=2
    print(a)

def f3():
    print(locals())#
    #print(a) #如果取消下一行注释，这里会报错，因为a还没有被赋值就被引用了
    a=3
    print(locals())
    print(a) #此时f3没有a这个变量，因此要去全局中找a


def f4():
    global a
    a=4
    print(a)

def f5():
    #这里声明的时候，x不一定非得存在
    global x
    x=5
    print(x)

# f1()
# f2()
# f3()
# f4()
f5()